package com.baosight.risk.mapper.rire;

import com.baosight.risk.base.entity.MultipleUpdateStatus;
import com.baosight.risk.base.mapper.BaseMapper;
import com.baosight.risk.service.rire.entity.RireRiskWarningStatus;
import com.baosight.risk.service.rire.vo.RiskWarningStatusVO;
import com.baosight.risk.service.riwa.entity.RiwaRiskWaringRule;
import com.baosight.risk.service.riwa.entity.RiwaRiskWaringStatus;
import com.baosight.risk.service.riwa.entity.RiwaRiskWaringTarget;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface RireRiskWarningStatusMapper extends BaseMapper<RireRiskWarningStatus> {

    List<RiskWarningStatusVO> selectList(@Param("warningStatus") RireRiskWarningStatus warningStatus, @Param("deptList") List<String> deptList);

    List<RireRiskWarningStatus> getByIds(@Param("ids") List<String> ids);

    Integer updateStatus(@Param("updateStatus") MultipleUpdateStatus updateStatus);

    /**
     * 根据重点风险查询所有风险指标
     *
     * @param importId
     * @param riaaRiskNo
     * @return
     */
    List<RireRiskWarningStatus> getWarningStatusByImportId(@Param("importId") String importId,
                                                           @Param("riaaRiskNo") String riaaRiskNo,
                                                           @Param("quarter") String quarter);

    List<RireRiskWarningStatus> getWarningStatusByImportIdAndYear(@Param("importId") String importId,@Param("acctYear") String acctYear);

    //查询季度
    List<String> selectQuarterCodeByImport(@Param("year") String acctYear, @Param("guid") String guid);

    /**
     * 查询披露报告
     * @param id 披露报告ID
     * @return
     */
    RiskWarningStatusVO getWarningById(@Param("id") String id);

    /**
     * 根据披露报告ID查询所有预警模型预警状态
     * @param reportId 披露报告ID
     * @return
     */
    List<RiwaRiskWaringStatus> getWaringStatusByReportId(@Param("reportId") String reportId);

    /**
     * 根据披露报告ID查询所有预警模型预警指标
     * @param reportId 披露报告ID
     * @return
     */
    List<RiwaRiskWaringTarget> getWaringTargetByReportId(@Param("reportId") String reportId);

    /**
     * 根据披露报告ID查询所有预警模型规则
     * @param reportId 披露报告ID
     * @return
     */
    List<RiwaRiskWaringRule> getWaringRuleByReportId(@Param("reportId") String reportId);
}